<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=, initial-scale=1.0">
    <title>表白墙</title>
</head>
<body>
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        .container {
            width: 100%;
        }

        h3 {
            /*
            标题居中 大小
            */
            text-align: center;
            padding: 30px 0;
            font-size: 24px;
        }
        p {
            /*
            居中 左右10px 上下0 px
            */
            text-align: center;
            color: #999;
            padding: 10px 0;
        }
        .row {
            /*
            row 一行 margin 0 auto 水平居中
            
            */
            width: 400px;
            height: 50px;
            margin: 0 auto;

            /*
            弹性布局
            */
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .row span {
            width: 100px;
            font-size: 20px;
        }

        .row input {
            width: 300px;
            height: 40px;
            line-height: 40px;
            font-size: 20px;
            text-indent: 0.5em;
            /* 去掉输入框的轮廓线 */
            outline: none;
        }

        .row #submit {
            width: 200px;
            height: 50px;
            font-size: 20px;
            line-height: 40px;
            margin: 0 auto;

            color: white;
            background-color: orange;
            border: none;
            border-radius: 10px;
        }

        .row #submit:active {
            background-color: gray;
        }

    </style>


    <div class="container">
        <h3>表白墙</h3>
        <p>输入后点击提交,会将信息显示在表格中</p>
        <div class="row">
            <span>谁:</span>
            <input type="text">
        </div>
        <div class="row">
            <span>对谁:</span>
            <input type="text">
        </div>
        <div class="row">
            <span>说:</span>
            <input type="text">
        </div>
        <div class="row">
            <button id="submit">提交</button>
        </div>
    </div>


    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
       




        
    <script>
         // 加入 ajax 的代码，此处 要加入的逻辑有两个部分
         // 点击提交按钮的时候，ajax 要构造数据发送给服务器
         // 页面加载的时候，从服务器获取消息列表， 并在页面上直接显示

         function getMessage() {
             $.ajax({
                 type: 'get',
                 url: 'message',
                 success: function(body) {
                     // 当前 body 已经是一个 js 对象数组了， ajax 会根据响应 的content-type 来自动进行解析
                     // 如果服务器返回的 content-type 已经是 application/json了，ajax 就会把 body自动 转成 js对象
                     // 如果客户端没有自动转，也可以通过 JSON。parse（） 这个函数来手动转换


                     // 依次来取数组中的每个元素
                     let container = document.querySelector('.container');
                     for(let message of body) {
                        let div  = document.createElement('div');
                        div.innerHTML = message.from + '对' + message.to + '说' + message.message;
                        div.clssName = 'row';
                        container.appendChild(div);
                     }

                 }
             });
         }

         // 加上函数调用
         getMessage();



        







        // 当用户点击 submit 就会获取到 input 中的内容 从而把内容构造成一个div,差啊如到页面末尾
        let submitBtn = document.querySelector('#submit');
        submitBtn.onclick = function(){
            //1. 获取到 3 个input 中的内容
            let inputs = document.querySelectorAll('input');
            let from = inputs[0].value;
            let to = inputs[1].value;
            let msg = inputs[2].value;
            if(from == '' || to == '' || msg == '') {
                // 用户还没有填写完,暂时先不提交数据
                return;
            }
            // 2. 生成一个新的 div,内容就是 input 里的内容,把这个div 加到页面中
            let div  = document.createElement('div');
            div.innerHTML = from + '对' + to + '说' + msg;
            div.clssName = 'row';
            let container = document.querySelector('.container');
            container.appendChild(div);
            // 3.清空之前输入框的内容
            for(let i = 0;i < inputs.length;i++) {
                inputs[i].value = '';
            }

            // 4.把当前获取到的输入框内容，构造成一个 HTTP POST 请求，通过 ajax 发送给服务器
            let body = {
                from: from ,
                to: to ,
                message: msg
            };

            $.ajax({
                type: "post",
                url: "message",
                contentType: "application/json;charset=utf8",
                data:JSON.stringify(boby), // 把 body 内容转换成 json 字符串
                success: function(boby) {
                    alert("消息提交成功!");
                },
                error:function(){
                    alert("消息提交失败！");
                }
            });

        }

    </script>
    
</body>
</html>